@@ -23,9 +23,9 @@ from utils.error.errno_utils import LensmanStatusCode, OrderStatusCode, UserStat  | 
            ||
| 23 | 23 | 
                from utils.error.response_utils import response  | 
            
| 24 | 24 | 
                from utils.message_utils import system_messages  | 
            
| 25 | 25 | 
                from utils.page_utils import pagination  | 
            
| 26 | 
                +from utils.redis.rbrief import set_brief_info  | 
            |
| 26 | 27 | 
                from utils.redis.rgroup import get_group_info, set_group_info  | 
            
| 27 | 
                -from utils.redis.rkeys import (GROUP_LAST_PHOTO_PK, TODAY_INCOME, TODAY_UPLOAD_PHOTO_AMOUNT, TOTAL_INCOME, WEEK_INCOME,  | 
            |
| 28 | 
                - WEEK_SOLD)  | 
            |
| 28 | 
                +from utils.redis.rkeys import GROUP_LAST_PHOTO_PK, TODAY_INCOME, TODAY_UPLOAD_PHOTO_AMOUNT, WEEK_INCOME, WEEK_SOLD  | 
            |
| 29 | 29 | 
                from utils.redis.rorder import set_lensman_order_record  | 
            
| 30 | 30 | 
                from utils.redis.rprice import get_lensman_price_fixed, set_lensman_price_fixed  | 
            
| 31 | 31 | 
                from utils.thumbnail_utils import make_thumbnail  | 
            
                @@ -302,14 +302,14 @@ def lensman_origin_photo_upload_api(request):  | 
            ||
| 302 | 302 | 
                 | 
            
| 303 | 303 | 
                # 原图已删除, 处理退款逻辑  | 
            
| 304 | 304 | 
                if deleted and order.photo_status == OrderInfo.WANTED:  | 
            
| 305 | 
                - # 用户增加余额  | 
            |
| 305 | 
                + # 用户余额增加  | 
            |
| 306 | 306 | 
                try:  | 
            
| 307 | 307 | 
                from_user = UserInfo.objects.select_for_update().get(user_id=order.from_uid)  | 
            
| 308 | 308 | 
                except UserInfo.DoesNotExist:  | 
            
| 309 | 309 | 
                pass  | 
            
| 310 | 310 | 
                 | 
            
| 311 | 311 | 
                if from_user:  | 
            
| 312 | 
                - # 增加余额  | 
            |
| 312 | 
                + # 余额增加  | 
            |
| 313 | 313 | 
                from_user.balance += order.total_fee  | 
            
| 314 | 314 | 
                from_user.save()  | 
            
| 315 | 315 | 
                # 余额记录  | 
            
                @@ -324,14 +324,14 @@ def lensman_origin_photo_upload_api(request):  | 
            ||
| 324 | 324 | 
                remark=u'高清图购买退款',  | 
            
| 325 | 325 | 
                )  | 
            
| 326 | 326 | 
                 | 
            
| 327 | 
                - # 摄影师减少余额  | 
            |
| 327 | 
                + # 摄影师余额减少  | 
            |
| 328 | 328 | 
                try:  | 
            
| 329 | 329 | 
                to_user = UserInfo.objects.select_for_update().get(user_id=order.to_uid)  | 
            
| 330 | 330 | 
                except UserInfo.DoesNotExist:  | 
            
| 331 | 331 | 
                pass  | 
            
| 332 | 332 | 
                 | 
            
| 333 | 333 | 
                if to_user:  | 
            
| 334 | 
                - # 减少余额  | 
            |
| 334 | 
                + # 余额减少  | 
            |
| 335 | 335 | 
                to_user.freeze_balance -= order.total_fee  | 
            
| 336 | 336 | 
                to_user.save()  | 
            
| 337 | 337 | 
                # 余额记录  | 
            
                @@ -346,20 +346,6 @@ def lensman_origin_photo_upload_api(request):  | 
            ||
| 346 | 346 | 
                remark=u'高清图购买退款',  | 
            
| 347 | 347 | 
                )  | 
            
| 348 | 348 | 
                 | 
            
| 349 | 
                - # Redis 数值更新  | 
            |
| 350 | 
                - ymd = tc.local_string(tc.to_local_datetime(order.created_at), format='%Y%m%d')  | 
            |
| 351 | 
                - week = Week.withdate(order.created_at)  | 
            |
| 352 | 
                -  | 
            |
| 353 | 
                - # 总收入  | 
            |
| 354 | 
                - r.decr_limit(TOTAL_INCOME % (order.to_uid, order.photo_type), order.total_fee, limit=0)  | 
            |
| 355 | 
                - # 周收入  | 
            |
| 356 | 
                - r.decr_limit(WEEK_INCOME % (order.to_uid, order.photo_type, week), order.total_fee, limit=0)  | 
            |
| 357 | 
                - # 日收入  | 
            |
| 358 | 
                - r.decr_limit(TODAY_INCOME % (order.to_uid, order.photo_type, ymd), order.total_fee, limit=0)  | 
            |
| 359 | 
                -  | 
            |
| 360 | 
                - # 周售出  | 
            |
| 361 | 
                - r.decr_limit(WEEK_SOLD % (order.to_uid, order.photo_type, week), limit=0)  | 
            |
| 362 | 
                -  | 
            |
| 363 | 349 | 
                # 更新订单状态  | 
            
| 364 | 350 | 
                order.photo_status = OrderInfo.DELETED  | 
            
| 365 | 351 | 
                order.reback_status = True  | 
            
                @@ -404,10 +390,12 @@ def lensman_origin_photo_upload_api(request):  | 
            ||
| 404 | 390 | 
                pass  | 
            
| 405 | 391 | 
                 | 
            
| 406 | 392 | 
                if to_user:  | 
            
| 407 | 
                - # 减少余额  | 
            |
| 393 | 
                + # 余额解冻  | 
            |
| 408 | 394 | 
                to_user.balance += order.total_fee  | 
            
| 409 | 395 | 
                to_user.freeze_balance -= order.total_fee  | 
            
| 410 | 396 | 
                to_user.save()  | 
            
| 397 | 
                + # Redis 数值更新  | 
            |
| 398 | 
                + set_brief_info(order.to_uid, order.photo_type, order.total_fee, dt=order.created_at)  | 
            |
| 411 | 399 | 
                # 余额记录  | 
            
| 412 | 400 | 
                UserIncomeExpensesInfo.objects.create(  | 
            
| 413 | 401 | 
                user_id=order.to_uid,  | 
            
                @@ -4,7 +4,6 @@ import xmltodict  | 
            ||
| 4 | 4 | 
                from django.conf import settings  | 
            
| 5 | 5 | 
                from django.db import transaction  | 
            
| 6 | 6 | 
                from django.shortcuts import HttpResponse  | 
            
| 7 | 
                -from isoweek import Week  | 
            |
| 8 | 7 | 
                from logit import logit  | 
            
| 9 | 8 | 
                from TimeConvert import TimeConvert as tc  | 
            
| 10 | 9 | 
                from wechatpy import WeChatPay, WeChatPayException  | 
            
                @@ -16,7 +15,7 @@ from photo.models import PhotosInfo  | 
            ||
| 16 | 15 | 
                from utils.error.errno_utils import GroupPhotoStatusCode, OrderStatusCode, UserStatusCode, WithdrawStatusCode  | 
            
| 17 | 16 | 
                from utils.error.response_utils import response  | 
            
| 18 | 17 | 
                from utils.page_utils import pagination  | 
            
| 19 | 
                -from utils.redis.rkeys import LENSMAN_PHOTO_PRICE, TODAY_INCOME, TOTAL_INCOME, WEEK_INCOME, WEEK_SOLD  | 
            |
| 18 | 
                +from utils.redis.rbrief import set_brief_info  | 
            |
| 20 | 19 | 
                from utils.redis.rorder import set_lensman_order_record  | 
            
| 21 | 20 | 
                 | 
            
| 22 | 21 | 
                 | 
            
                @@ -143,37 +142,27 @@ def order_paid_success(order):  | 
            ||
| 143 | 142 | 
                return  | 
            
| 144 | 143 | 
                 | 
            
| 145 | 144 | 
                if order.photo_type == OrderInfo.NOMARK:  | 
            
| 145 | 
                + # 余额增加  | 
            |
| 146 | 146 | 
                amount, freeze_amount = total_fee, 0  | 
            
| 147 | 147 | 
                user.balance += amount  | 
            
| 148 | 
                + # Redis 数值更新  | 
            |
| 149 | 
                + set_brief_info(to_uid, order.photo_type, total_fee)  | 
            |
| 150 | 
                + # 余额记录  | 
            |
| 151 | 
                + UserIncomeExpensesInfo.objects.create(  | 
            |
| 152 | 
                + user_id=to_uid,  | 
            |
| 153 | 
                + photo_id=order.photo_id,  | 
            |
| 154 | 
                + type=UserIncomeExpensesInfo.INCOME,  | 
            |
| 155 | 
                + amount=amount,  | 
            |
| 156 | 
                + balance=user.balance,  | 
            |
| 157 | 
                + freeze_amount=freeze_amount,  | 
            |
| 158 | 
                + freeze_balance=user.freeze_balance,  | 
            |
| 159 | 
                + remark=u'图片购买',  | 
            |
| 160 | 
                + )  | 
            |
| 148 | 161 | 
                elif order.photo_type == OrderInfo.ORIGIN:  | 
            
| 149 | 162 | 
                amount, freeze_amount = 0, total_fee  | 
            
| 150 | 163 | 
                user.freeze_balance += freeze_amount  | 
            
| 151 | 164 | 
                user.save()  | 
            
| 152 | 165 | 
                 | 
            
| 153 | 
                - ymd = tc.local_string(format='%Y%m%d')  | 
            |
| 154 | 
                - week = Week.thisweek().isoformat()  | 
            |
| 155 | 
                -  | 
            |
| 156 | 
                - # 总收入  | 
            |
| 157 | 
                - r.incr(TOTAL_INCOME % (to_uid, order.photo_type), total_fee)  | 
            |
| 158 | 
                - # 周收入  | 
            |
| 159 | 
                - r.incr(WEEK_INCOME % (to_uid, order.photo_type, week), total_fee)  | 
            |
| 160 | 
                - # 日收入  | 
            |
| 161 | 
                - r.incr(TODAY_INCOME % (to_uid, order.photo_type, ymd), total_fee)  | 
            |
| 162 | 
                -  | 
            |
| 163 | 
                - # 周售出  | 
            |
| 164 | 
                - r.incr(WEEK_SOLD % (to_uid, order.photo_type, week))  | 
            |
| 165 | 
                -  | 
            |
| 166 | 
                - UserIncomeExpensesInfo.objects.create(  | 
            |
| 167 | 
                - user_id=to_uid,  | 
            |
| 168 | 
                - photo_id=order.photo_id,  | 
            |
| 169 | 
                - type=UserIncomeExpensesInfo.INCOME,  | 
            |
| 170 | 
                - amount=amount,  | 
            |
| 171 | 
                - balance=user.balance,  | 
            |
| 172 | 
                - freeze_amount=freeze_amount,  | 
            |
| 173 | 
                - freeze_balance=user.freeze_balance,  | 
            |
| 174 | 
                - remark=u'图片购买',  | 
            |
| 175 | 
                - )  | 
            |
| 176 | 
                -  | 
            |
| 177 | 166 | 
                 | 
            
| 178 | 167 | 
                def order_paid_fail(order):  | 
            
| 179 | 168 | 
                if order.pay_status == OrderInfo.FAIL:  | 
            
                @@ -0,0 +1,28 @@  | 
            ||
| 1 | 
                +# -*- coding: utf-8 -*-  | 
            |
| 2 | 
                +  | 
            |
| 3 | 
                +from django.conf import settings  | 
            |
| 4 | 
                +from isoweek import Week  | 
            |
| 5 | 
                +from TimeConvert import TimeConvert as tc  | 
            |
| 6 | 
                +  | 
            |
| 7 | 
                +from utils.redis.rkeys import TODAY_INCOME, TOTAL_INCOME, WEEK_INCOME, WEEK_SOLD  | 
            |
| 8 | 
                +  | 
            |
| 9 | 
                +  | 
            |
| 10 | 
                +r = settings.REDIS_CACHE  | 
            |
| 11 | 
                +  | 
            |
| 12 | 
                +  | 
            |
| 13 | 
                +# 简报相关  | 
            |
| 14 | 
                +  | 
            |
| 15 | 
                +  | 
            |
| 16 | 
                +def set_brief_info(uid, ptype, fee, dt=None):  | 
            |
| 17 | 
                + """ 更新简报信息 """  | 
            |
| 18 | 
                + ymd, week = (tc.local_string(tc.to_local_datetime(dt), format='%Y%m%d'), Week.withdate(dt)) if dt else (tc.local_string(format='%Y%m%d'), Week.thisweek().isoformat())  | 
            |
| 19 | 
                +  | 
            |
| 20 | 
                + # 总收入  | 
            |
| 21 | 
                + r.incr(TOTAL_INCOME % (uid, ptype), fee)  | 
            |
| 22 | 
                + # 周收入  | 
            |
| 23 | 
                + r.incr(WEEK_INCOME % (uid, ptype, week), fee)  | 
            |
| 24 | 
                + # 日收入  | 
            |
| 25 | 
                + r.incr(TODAY_INCOME % (uid, ptype, ymd), fee)  | 
            |
| 26 | 
                +  | 
            |
| 27 | 
                + # 周售出  | 
            |
| 28 | 
                + r.incr(WEEK_SOLD % (uid, ptype, week))  |